// 引入vue-i18n组件
import { createI18n } from "vue-i18n";

// // 引入同级目录下的语言包
// const modules = import.meta.glob("./*.ts", { eager: true });
// const messages = getLangFiles(modules);

// // 格式 文件名:{文件内容}
// function getLangFiles(mList: any) {
//   let msg: any = {};
//   for (let path in mList) {
//     if (mList[path].default) {
//       // 文件名称
//       let pathName = path.slice(path.lastIndexOf("/") + 1, -3);
//       if (msg[pathName]) {
//         msg[pathName] = {
//           ...mList[pathName],
//           ...mList[path].default,
//         };
//       } else {
//         msg[pathName] = mList[path].default;
//       }
//     }
//   }
//   return msg;
// }

// // 获取默认使用的语言
// const defaultLang = localStorage.getItem("lang") || "zh-CN";
// // console.log(navigator.language);

// // 注册i18n实例并引入语言包
// const i18n = createI18n({
//   // 如果想在composition api中使用,需要设置为false
//   legacy: false,
//   //如果设置true, $t() 函数将注册到全局作用域,并且可以在模板中使用
//   globalInjection: true,
//   // 设置默认语言
//   locale: defaultLang,
//   // 不存在则默认为zh-CN
//   fallbackLocale: "zh-CN",
//   messages,
// });

// export default i18n;

// element-plus 中的语言配置
import elementEnLocale from "element-plus/lib/locale/lang/en";
import elementZhLocale from "element-plus/lib/locale/lang/zh-cn";
// 引入自定义的语言包
import enLang from "./en-US";
import zhLang from "./zh-CN";

// 合并语言包
const messages = {
  "en-US": {
    ...enLang,
    ...elementEnLocale,
  },
  "zh-CN": {
    ...zhLang,
    ...elementZhLocale,
  },
};

// 获取默认使用的语言
const defaultLang = localStorage.getItem("lang") || "zh-CN";

// 注册i18n实例并引入语言包
const i18n = createI18n({
  // 如果想在composition api中使用,需要设置为false
  legacy: false,
  //如果设置true, $t() 函数将注册到全局作用域,并且可以在模板中使用
  globalInjection: true,
  // 设置默认语言
  locale: defaultLang,
  // 不存在则默认为zh-CN
  fallbackLocale: "zh-CN",
  messages,
});

export default i18n;
